loading...
P30 Programmer | پی سی برنامه نویس | آموزش برنامه نویسی | دانلود پروژه برنامه نویسی | دانلود نرم افزار و بازی | کلیپ |
admin بازدید : 312 یکشنبه 08 تیر 1393 نظرات (0)

محدودیت NOT NULL در sql

از محدودیت NOT NULL در دستور create table زمانی استفاده مکنیم که میخواهیم مقدار Allow Null  فیلدها  را غیر فعال کنیم.

در حقیقت با تعریف این محدودیت اجازه نمیدهیم که فیلد ما مقدار Null بگیرد. پس در هنگام درج یا به روزرسانی، اگر کاربر مقداری را در این فیلدها وارد نکرد، جلوی انجام عملیات گرفته می‌شود.

برای تعریف محدودیت NOT NULL از دستور SQL زیر استفاده می کنیم:

CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

که در مثال بالا p_Id و LastName اجازه ی null بودن ندارند ولی دیگر فیلدها allow null هستند.

نکته : پیش فرض برای فیلدها در دستور create table ، مقدار دهی آنها allow null است.

admin بازدید : 237 یکشنبه 08 تیر 1393 نظرات (0)

محدودیت Unique , SQL UNIQUE Constraint در sql

از محدودیت Unique زمانی استفاده میکنیم که بخواهیم مقادیر بعضی از فیلدها تکراری نباشند.

این فیلدها ممکن است کلید نباشند ، اما بنابر لزوم برنامه بایستی غیر تکراری باشند. به عنوان مثال فیلد آدرس ایمیل،  کلید نیست اما باید Unique یا واحد باشد. برای این کار از Unique Index ها استفاده می‌کنیم.


محدودیت UNIQUE در هنگام ساخت TABLE

برای تعریف محدودیت Unique در دستور create table در sql ، روی یک ستون از کلمه کلیدی UNIQUE بصورت زیر استفاده می کنیم:

CREATE TABLE Persons
(
P_Id int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

برای تعریف محدودیت Unique روی چند ستون از دستور SQL زیر استفاده می کنیم:

CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
)

محدودیت UNIQUE پس از ساخت جدول

برای تغییر دادن محدودیت Unique روی یک ستون از دستور SQL زیر استفاده می کنیم:

ALTER TABLE Persons
ADD UNIQUE (P_Id)

برای تغییر دادن محدودیت Unique روی چند ستون از دستور SQL زیر استفاده می کنیم:

ALTER TABLE Persons
ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)

از بین بردن یک محدودیت UNIQUE

برای از بین بردن محدودیت Unique از دستور SQL زیر استفاده می کنیم:

ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID

admin بازدید : 271 یکشنبه 08 تیر 1393 نظرات (0)

محدودیت Check ,  SQL CHECK Constraint یا محدودیت های خاص در sql

از محدودیت Check یا محدودیت خاص در اس کیو ال زمانی استفاده میکنیم که بخواهیم برای یک فیلد، یک سری محدودیت خاص روی فیلد تعریف کنیم.

برای مثال : مقادیر داخل فیلد بایستی حتما بزرگتر از 10 باشد در غیر اینصورت در هنگام ورود اطلاعات، کاربر با خطا مواجه گردد.

نکته : محدودیت Check را میتوان برای ستون و جدول تعریف کرد.

محدودیت CHECK هنگامی که جدول ساخته می شود

  برای تعریف یک محدودیت Check در دستور create table ، روی یک ستون از دستور SQL زیر استفاده می کنیم:

CREATE TABLE Persons
(
P_Id int NOT NULL CHECK (P_Id>0),
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

 برای تعریف یک محدودیت Check  روی چند ستون از دستور SQL زیر استفاده می کنیم: 

 CREATE TABLE Persons

(P_Id int NOT NULL,

LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')
)

 محدودیت CHECK پس از ساخته شدن جدول

برای تغییر دادن یک محدودیت Check  روی یک ستون از دستور SQL زیر استفاده می کنیم:

ALTER TABLE Persons
ADD CHECK (P_Id>0)

 برای تغییر دادن یک محدودیت Check  روی چند ستون از دستور SQL زیر استفاده می کنیم:

ALTER TABLE Persons
ADD CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')

از بین بردن محدودیت CHECK

برای از بین بردن محدودیت Check یا محدودیت خاص ، از دستور زیر استفاده می کنیم:

ALTER TABLE Persons
DROP CHECK chk_Person

admin بازدید : 177 یکشنبه 08 تیر 1393 نظرات (0)

محدودیت Default  , SQL DEFAULT Constraint یا مقدار پیش فرض در sql

از محدودیت Default یا مقدار پیش فرض در اس کیو ال ، میتوانیم زمانی استفاده کنیم که ، در هنگام ساخت جدول و تعیین نوع فیلدها، مقدار Default Value و یا پیش فرض به یک فیلد بدهیم.

در واقع محدودیت در اینجا به این معنی می باشد که  اگر کاربر در هنگام درج یا به روزرسانی مقدار آن فیلد را وارد نکرد، مقدار Default Value به جای آن قرار بگیرد.

 محدودیت DEFAULT در هنگام ساخت جدول

برای تعریف یک محدودیت Default در دستور create table از دستور SQL زیر استفاده می کنیم:

CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255) DEFAULT 'Sandnes'
)

از محدودیت Default می توان در مواقعی که میخواهیم  از function ها در SQL استفاده کنیم،ز دستور SQL به صورت  زیر استفاده می کنیم:برای مثال تابع ()GETDATE

CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
OrderDate date DEFAULT GETDATE()
)

محدودیت DEFAULT پس از ساخت جدول

برای تغییر دادن محدودیت Default  از دستور SQL زیر استفاده می کنیم:

ALTER TABLE Persons
ALTER COLUMN City SET DEFAULT 'SANDNES'

از بین بردن محدودیت DEFAULT

برای از بین بردن محدودیت Default یا مقدار پیش فرض در sql ، از دستور SQL زیر استفاده می کنیم:

ALTER TABLE Persons
ALTER COLUMN City DROP DEFAULT

admin بازدید : 218 یکشنبه 08 تیر 1393 نظرات (0)

ایجاد محدودیت برای فیلد ها در اسکیوال (Constraints)

Constraint ها در sql یا همان محدودیت ها در اس کیو ال ، برای محدود کردن نوع داده هایی که میتواند در جدول تعریف شود مورد استفاده قرار میگیرد.

این محدودیت ها را زمانی که یک جدول جدید ایجاد میکنیم یا زمانی که نوع داده ای جدول را تغییر میدهیم بایستی در نظر داشته باشیم.

Constraint های sql شامل موارد زیر میشوند :

admin بازدید : 206 یکشنبه 08 تیر 1393 نظرات (0)

محدودیت Primary Key , SQL PRIMARY KEY Constraint یا کلید اصلی در اس کیو ال

از محدودیت Primary Key زمانی استفاده میکنیم که میخواهیم فیلد کلید اصلی در sql ، تعریف کنیم.

محدودیت Primary Key یکی از مهمترین محدودیت‌ها می‌باشد. فیلد کلید، مقدار تکراری قبول نمی‌کند و بیشتر برای تفکیک و جستجوی رکورد‌ها مورد استفاده قرار می‌گیرد.

  • فیلد کلید اصلی در اسکیوال هیچ وقت Null نمی‌پذیرد. پس ستون Allow Nulls  برای این فیلد نباید چک خورده باشد.
  • هر جدول فقط می تواند یک کلید اولیه (Primary Key) داشته باشد.


اعمال محدودیت PRIMARY KEY در هنگام ساخت جدول

برای تعریف محدودیت Primary Key در دستور create table از دستور SQL زیر استفاده می کنیم:

CREATE TABLE Persons
(
P_Id int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

برای تعریف محدودیت Primary Key روی چند ستون از دستور SQL زیر استفاده می کنیم:

CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
)


محدودیت PRIMARY KEY پس از ساخته شدن جدول

برای تغییر دادن محدودیت Primary Key روی یک ستون از دستور SQL زیر استفاده می کنیم:

ALTER TABLE Persons
ADD PRIMARY KEY (P_Id)

برای تغییر دادن محدودیت Primary Key روی چند ستون از دستور SQL زیر استفاده می کنیم

ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)

برای از بین بردن یک PRIMARY KEY

برای از بین بردن محدودیت Primary Key یا کلید اصلی ، از دستور SQL زیر پیروی می کنیم:

ALTER TABLE Persons
DROP CONSTRAINT pk_PersonID

admin بازدید : 186 یکشنبه 08 تیر 1393 نظرات (0)

از دستور Alter Table برای اضافه کردن يا حذف کامل يک ستون از يک جدول و یا تغییر نوع داده ی فیلد موجود در پايگاه داده sql استفاده می شود.

  • اضافه کردن فیلد به جدول در اسکیوال

برای اضافه کردن يک ستون ( فيلد ) جديد به يک جدول موجود در اسکیوال از دستور ALTER TABLE  استفاده می شود:

ALTER TABLE table_name
ADD column_name datatype

  • حذف یک فیلد جدول در sql

برای حذف يک ستون از يک جدول موجود به روش زير عمل می شود :

ALTER TABLE table_name
DROP COLUMN column_name

  • تغییر نوع داده ی یک فیلد جدول در sql

برای تغییر نوع داده ی یک فیلد از جدول در اسکیوال از دستور زیر استفاده میکنیم :

ALTER TABLE table_name
ALTER COLUMN column_name datatype

همانطور که دیدید ، دستور alter table یکی از مهمترین دستورات در sql است که با 3 پارامتر  و کلمه ی کلیدی زیر ، تغییرات جدول را با استفاده از کد در sql راحت میکنند :

  • ADD
  • DROP COLUMN
  • DROP COLUMN

 نکته مهم : برای تغییر نام های فیلدهای جدول در اسکیوال باید از sp های اسکیوال استفاده کرد . در مقاله ی زیر ، تغییر نام فیلدها همراه با مثال توضیح داده شده است :

تغییر نام فیلد در یک جدول با استفاده از دستور sql


admin بازدید : 246 یکشنبه 08 تیر 1393 نظرات (0)

تغییر نام فیلد در یک جدول با استفاده از دستور sql

برای تغییر نام فیلد در جدول از تغییر کد باید به روش زیر و با کمک stored procedure های خود اسکیوال ، عمل کرد :

sp_RENAME 'table_name.old_name' , 'new_name', 'COLUMN'

مثال از تغییر نام ستون و فیلد TerritoryID به TerrID از جدول Sales از پایگاه داده ی Db_name :

USE Db_name;
GO
EXEC sp_rename 'Sales.TerritoryID', 'TerrID', 'COLUMN';
GO

admin بازدید : 281 یکشنبه 08 تیر 1393 نظرات (0)

برای ايجاد يک جدول جديد در پايگاه داده sql ، از دستور Create Table استفاده می کنیم . برای ایجاد جدول در اسکیوال بایستی نکات زیر را در نظر گرفت :

  1. تعيين يک نام منحصر به فرد برای جدول .
  2. تعيين تعداد ستون های ( فيلد ها ) جدول و نام آنها که نباید تکراری باشد.
  3. تعيين نوع داده ای ستون های جدول و اندازه آنها در صورت نياز .

ساختار دستور create table در sql در ساده ترین حالت ، به صورت زیر است :

CREATE TABLE table_name
(
column_name1 data_type,
column_name2 data_type,
column_name3 data_type,
....
)
.

 برای مثال برای ایجاد جدول Persons با فیلدهای زیر به صورت زیر عمل میکنیم :

CREATE TABLE Persons
(
P_Id int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)



admin بازدید : 175 یکشنبه 08 تیر 1393 نظرات (0)

دستور Drop در اسکیوال

تمامی جدول ها ، اندیس ها ، و حتی دیتابیس ها میتوانند با دستور Drop در sql حذف شوند. شیوه های استفاده از دستور drop در sql به شرح زیر است :

 

دستور Drop Index

از دستور DROP INDEX  برای حذف يک انديس موجود در يک فيلد جدول استفاده می شود.

DROP INDEX table_name.index_name

دستور Drop Table

از دستور DROP TABLE برای حذف يک جدول در پايگاه داده استفاده می شود.

DROP TABLE table_name 

دستور Drop Database

از دستور DROP DATABASE برای حذف  يک پايگاه داده به صورت کامل استفاده می شود

DROP DATABASE database_name

دستور TRUNCATE

برای حذف کليه اطلاعات موجود در يک جدول بدون حذف ستون های آن از دستور TRUNCATE استفاده می کنیم :

TRUNCATE TABLE table_name

اين دستور باعث خالی شدن جدول از اطلاعات می شود ، بدون اينکه خود آن و ساختارش تغييری کند . 

مثال :

 Truncate Table Mydb;

 

admin بازدید : 244 یکشنبه 08 تیر 1393 نظرات (0)

دستور Create Index در sql

از دستور Create Index در اسکیوال برای ايجاد انديس در ستون های جدول استفاده می شود .
در يک جدول می توان برای يک يا چند ستون جدول انديس ايجاد کرد ، که اين انديس ها باعث بالا رفتن سرعت جستجو در رکوردهای جدول مي شود .
انديس يک شماره است که به هر سطر جدول اختصاص داده می شود و معمولا از صفر شروع می شود . انديس ها از ديد کاربر مخفی هستند و هر انديس يک نام منحصر به فرد دارد .

 برای ایجاد یک اندیس با داده های تکراری به صورت زیر عمل میکنیم :

CREATE INDEX index_name
ON table_name (column_name)

مثال :

CREATE INDEX PIndex
ON Persons (LastName)

برای ایجاد یک اندیس یا index ، با داده های منحصر به فرد (unique) به صورت زیر عمل میکنیم :

CREATE UNIQUE INDEX index_name
ON table_name (column_name)

 برای ايجاد يک انديس ( index ) برای بيش از يک فيلد ، بايد نام فيلد های مورد نظر را به ترتيب در پرانتز بعد از نام جدول وارد کرد .

CREATE INDEX PIndex
ON Persons (LastName, FirstName)

admin بازدید : 255 یکشنبه 08 تیر 1393 نظرات (0)

دستور ISNULL در sql

از دستور ISNULL در اسکیوال زمانی استفاده میشود که شما میخواهید تمام فیلدهای null را در خروجی داشته باشید.

مقدار null در اس کیو ال با space ' ' تفاوت دارد.

ساختار دستور is null به همراه مثال آن به صورت زیر است که در این مثال تمام رکوردهایی که حاوی فیلد آدرس null هستند انتخاب می شوند.

SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NULL

بر عکس دستور is null در sql ، دستور is not Null هست که مقادیری را برمیگرداند که Null نباشد که بیشتر از این شکل از این دستور استفاده مشود.

مثال : در مثال زیر رکوردهایی که آدرس آنها تهی ( null ) نیستند ، انتخاب و در خروجی این دستور در اسکیوال می روند.

SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NOT NULL

admin بازدید : 200 یکشنبه 08 تیر 1393 نظرات (0)

admin بازدید : 169 یکشنبه 08 تیر 1393 نظرات (0)

در حالت کلی مقادیر ستون ها میتوانند مقدار null داشته باشند. زمانی که  یک ستون اختیاری باشد ، شما میتوانید مقدار Null در آن ذخیره کنید. اختیاری به این معنی که میتوانید خالی رهایش کنید. 

مقدار پیش فرض در صورت مقدار ندادن به فیلدی در یک رکورد , مقدار Null است.

با استفاده از دستور is null در sql میتوانیم فیلدهایی که مقادیر تهی دارند را با در دستور Select انتخاب کنیم.

مقدار null از جمله مقادیری است که زیاد باهاش در آموزش sql سر و کار خواهیم داشت.

نکته ی بسیاری مهم در مورد null یا تهی اینست که این مقدار با مقدار رشته ای space یا ' ' تفاوت کامل دارد. همچنین null را نباید با مقدار رشته ای آن یعنی 'null' اشتباه بگیریم.

admin بازدید : 145 یکشنبه 08 تیر 1393 نظرات (0)
خروجی  دستور FULL JOIN در sql از بین سطرهایی انتخاب میشود که یک رابطه در یکی از جداول بایستی وجود داشته باشد.

به طور خلاصه دستور full join ( دستور full outer join ) بصورت or کار میکند و دستور inner join بصورت and .

SELECT column_name(s)
FROM table_name1
FULL JOIN table_name2
ON table_name1.column_name=table_name2.column_name

مثال : در مثال زیر ما میخواهیم با استفاده از دستور full join در اسکیوال ، همه ی افراد با سفارش هایشان و همه ی سفارشات با افراد مربوط به آنها را در خروجی نمایش دهیم.

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
FULL JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName

admin بازدید : 183 یکشنبه 08 تیر 1393 نظرات (0)

از دستور Union برای ترکيب و ادغام دو يا چند ستون مختلف از 2 يا چند جدول و نشان دادن آنها در يک ستون مشترک استفاده می شود .
در دستور union ، نوع داده ای ستون های انتخاب شده برای ترکيب بايد يکسان باشند .

دستور Union در هنگام ترکيب فيلد ها ، در صورت برخورد با مقادير تکراری آنها را حذف کرده و از هر مقدار يک نمونه را نمايش می دهد . ساختار دستور union به صورت زیر است:

SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2

مثال :

SELECT E_Name FROM Employees_Norway
UNION
SELECT E_Name FROM Employees_USA

 برای مشاهده تمام مقادير ، حتی مقادير تکراری بايد از دستور Union ALL استفاده کرد

ساختار این دستور به صورت زیر است :

SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2

مثال :

SELECT E_Name FROM Employees_Norway
UNION ALL
SELECT E_Name FROM Employees_USA
Result

در آموزش sql ، دستور union و دستور union all کاربرد های ویژه و خاصی دارند.

admin بازدید : 235 یکشنبه 08 تیر 1393 نظرات (0)

دستور LEFT JOIN در sql

خروجی  دستور LEFT JOIN در اسکیوال از از جدول سمت چپ انتخاب میشود، حتی اگر هیچ رابطه ای با جدول سمت راست نداشته باشد.

شکل کلی دستور left join در sql بصورت زیر است :

SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name=table_name2.column_name

نکته : در بعضی دیتابیس ها دستور LEFT JOIN با نام دستور LEFT OUTER JOIN استفاده میشود که تفاوتی در این زمینه وجود ندارد.

مثال : در این مثال جدول اصلی ، جدول Persons میباشد که در سمت چپ JOIN قرار دارد و خروجی ها بر اساس این جدول تنظیم میشوند.

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
LEFT JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName

 در صورت نداشتن رابطه ی بعضی ای رکورد ها با جدول سمت راست ، فیلد های آن null انتخاب میشوند که با ترکیب آن با دستور isNull در اسکیول میتوانید خروجی های دلخواه خود را با استفاده از دستور left join بدست آورید.

admin بازدید : 139 یکشنبه 08 تیر 1393 نظرات (0)

دستور RIGHT JOIN در sql

 خروجی دستور RIGHT JOIN در اسکیوال از از جدول سمت راست انتخاب میشود، حتی اگر هیچ رابطه ای با  جدول چپ نداشته باشد. ساختار دستور right join به صورت زیر است :

SELECT column_name(s)
FROM table_name1
RIGHT JOIN table_name2
ON table_name1.column_name=table_name2.column_name

نکته : در بعضی دیتابیس ها دستور RIGHT JOIN با نام دستور RIGHT OUTER JOIN استفاده میشود.

مثال : در این مثال جدول اصلی ، جدول Orders میباشد که در سمت راست JOIN قرار دارد و خروجی ها بر اساس این جدول تنظیم میشود.

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
RIGHT JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName

در صورت نداشته رابطه ی بعضی ای رکورد ها با جدول سمت چپ ، فیلد های آن null انتخاب میشوند که با ترکیب آن با دستور isNull در اسکیول میتوانید خروجی های دلخواه خود را با استفاده از دستور right join بدست آورید.

admin بازدید : 223 یکشنبه 08 تیر 1393 نظرات (0)

از مجموعه دستورات Join در اسکیوال ، برای پيوند جدول ها در پايگاه داده ها استفاده می شود. از دستور های Join ، برای ارتباط بین چندین جدول که با یکدیگر ارتباط دارند ، درواقع کلید خارجی برای آنها تعریف شده است، میتوان استفاده کرد.

تفاوتهای بین دستورات پیوند ( JOIN ) در SQL

دستور INNER JOIN : خروجی  دستور JOIN یا دستور INNER JOIN از بین سطرهایی انتخاب میشود که حداقل یک رابطه در هر دو جدول وجود داشته باشد.

دستور LEFT JOIN : خروجی  دستور LEFT JOIN از از جدول سمت چپ انتخاب میشود، حتی اگر هیچ رابطه ای با  جدول سمت راست نداشته باشد.

دستور RIGHT JOIN : خروجی دستور RIGHT JOIN  از از جدول سمت راست انتخاب میشود، حتی اگر هیچ رابطه ای با  جدول چپ نداشته باشد.

دستور FULL JOIN : خروجی  دستور FULL JOIN از بین سطرهایی انتخاب میشود که  یک رابطه در یکی از جداول بایستی  وجود داشته باشد.

تفاوت Join و InnerJoin

تفاوت Join و InnerJoin در performance آنها می باشد. نتیجه ی اجرای هر دوی آنها یکسان است اما دستور InnerJoin دارای Prformance بالاتری می باشد و به همین دلیل توصیه می شود که از دستور InnerJoin استفاده شود.

در مقالات زیر یک به یک این پیوند ها در اسکیوال با مثال توضیح داده شده اند :

admin بازدید : 187 یکشنبه 08 تیر 1393 نظرات (0)
sql

 خروجی دستور INNER JOIN در اس کیو ال از بین سطرهایی انتخاب میشود که حداقل یک رابطه در هر دو جدول وجود داشته باشد.

تفاوت دستور Join و دستور InnerJoin در performance آنها می باشد. نتیجه ی اجرای هر دوی آنها یکسان است اما دستور InnerJoin دارای Prformance و کارایی بالاتری می باشد و به همین دلیل توصیه می شود که از دستور InnerJoin استفاده شود.

شکل کلی این دستور به صورت زیر است که در آن کلمه ی کلیدی ON فیلد رابطه رو در دو جدول مشخص میکند :

SELECT column_name(s)
FROM table_name1
INNER JOIN table_name2
ON table_name1.column_name=table_name2.column_name

 در دستور INNER JOIN در اسکیوال بایستی حداقل یک رابطه در هر دو جدول وجود داشته باشد که بعد از کلمه کلیدی On می آید.

نکته مهم : مهمترین دستور ها در آموزش sql ، دستور inner join می باشد که یادگیری کامل دستور join میتواند تفاوت اصلی آموزش حرفه ای اسکیوال باشد.

 

مثال : اگر رکوردی (خروجی) که در جدول "Persons" وجود دارد هیچ تطابقی با خروجی های جدول "Orders" نداشته باشد ، این رکوردها در خروجی این دستور sql نمایش داده نمیشوند.

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
INNER JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName

admin بازدید : 198 یکشنبه 08 تیر 1393 نظرات (0)

عملگر BETWEEN در اسکیوال

عملگر BETWEEN در sql برای انتخاب اطلاعات در يک محدوده خاص ، در بين دو مقدار تعيين شده استفاده می شود . اين مقادير می تواند از نوع عددی ، متن يا تاريخ باشد .

نکته مهم در مورد دستور Between در sql اینست که بايد نوع مدنظر با نوع داده ای فيلد های استفاده شده در دستور يکسان باشد .
نکته ی دیگر در مورد Between در مورد داده های متنی ، ترتيب قرار گيری حروف الفبا مد نظر برنامه است .

ساختار این دستور به صورت زیر است : 

SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2

مثال :  برای نمايش اطلاعات درون محدوده تعيين شده به صورت زیر عمل میکنیم : 

SELECT * FROM Persons
WHERE LastName
BETWEEN 'Hansen' AND 'Pettersen'

مثال : برای نمايش اطلاعات خارج از محدوده تعيين شده از يک عملگر NOT قبل از دستور Between ... And استفاده می شود .

SELECT * FROM Persons
WHERE LastName
NOT BETWEEN 'Hansen' AND 'Pettersen'

admin بازدید : 232 یکشنبه 08 تیر 1393 نظرات (0)

زمانی که با دستور select در sql یک کوئری اجرا کرده ایم نام يا عنواني که در بالای هر ستون در خروجی نمايش داده می شود ، همان نام فيلد مربوط به داده در جدول اصلی پايگاه داده است .

گاهی اوقات میخواهیم نام ستون ما در خروجی برابر با نام دلخواه ما باشد يا در مواردی که در بخش توابع SQL خواهيم ديد ، يک ستون جديد ايجاد می کنيم که بايد نامی برای آن تعيين شود در این موارد از ويژگی Alias استفاده میکنیم.  

از ويژگی Alias برای در نظر گرفتن يک نام مستعار و مجازی برای قرار گرفتن در بخش عنوان هر ستون در خروجی دستور Select در اسکیوال استفاده می شود .

تعریف Alias  برای جداول sql : کلمه کلیدی as در اسکیوال این کار را انجام می دهد.

SELECT column_name(s)
FROM table_name
AS alias_name

تعریف Alias  برای ستونها در sql :

SELECT column_name AS alias_name
FROM table_name

 مثال:

Select Name As نام , Family As خانوادگی From Persons
Where id >15 
Order By Family ; 

می توان بر روی مقادير ستون هايی که داده عددی دارند ، عمليات رياضی ( مثل ضرب ، تقسيم و ... ) انجام داده و سپس نتايج محاسبات را در يک ستون جديد با عنوان دلخواه تعيين شده توسط ويژگی Alias در خروجی دستور Select نمايش داد .در اين حالت ستون يا ستون های به جدول خروجی اضافه می شود .

مثال : مثال زیر کاربردی از این مورد را در دستور select نشان میدهد :

Select Name+Family As "نام و نام خانوادگی" From Persons
Where id >15 
Order By Family ;



admin بازدید : 141 یکشنبه 08 تیر 1393 نظرات (0)
ادآوری از دستور Like :  همانطور که در مقاله ی قبلی در مورد دستور like در sql گفته شد ، هنگام کارکردن با رشته ها همیشه خواهان مطابقت کامل رشته ها نيستيم ، بلکه بخشی از رشته يا الگوی خاصی از آن بيشتر موردنظر است. در این هنگام می توان از دستور LIKE در شرط های اسکیوال ، به جای علامت = استفاده کرد.

در دستور like ، دو کاراکتر % و _ به ترتيب به معنی چند کاراکتر و يک کاراکتر را برای تطابق می توان بکار برد.

در آموزش sql این علامت ها کاربرد بسیاری دارند.

مثال : اسامی کليه مشتريانی که آدرس آنها شامل کلمه Main است بطوریکه قبل Main هر چند کاراکتری که خواست بیاید ولی بعد از Main فقط یک کاراکتر بیاید را پيدا کن :

SELECT customer_name
FROM customer
WHERE customer_street LIKE '%Main_';

admin بازدید : 179 یکشنبه 08 تیر 1393 نظرات (0)

عملگر In در اسکیوال برای مشاهده اطلاعات رکوردهايی از جدول به کار می رود که شما مقدار دقيق حداقل يکی از فيلدهای آنرا می دانيد . دستور in در اسکیول برای کوئری های پیچیده در اس کیو ال بسیار کاربردی است.

ساختار این دستور به صورت زیر است : 

SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...)

مثال : از جدول Persons مشخصات افرادی را بدهيد که نام خانوادگی آنها رجبی يا یوسفی است :

Select * From  Persons
Where Family IN ( "رجبی" , "یوسفی" );

admin بازدید : 239 یکشنبه 08 تیر 1393 نظرات (0)

عملگر Like در شرطهای sql ، برای الگوی خاص جستجو مورد استفاده قرار میگیرد. ساختار دستور like در اسکیوال به صورت زیر است:

SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern

 مثال : دستور زیر افرادی که شهر آنها با حرف s شروع میشوند را انتخاب مبکند.

SELECT * FROM Persons
WHERE City LIKE 's%'

 مثال : دستور زیر افرادی که شهر آنها به حرف s ختم میشوند را انتخاب مبکند.

SELECT * FROM Persons
WHERE City LIKE '%s'

 مثال : دستور زیر افرادی که شهر آنهاشامل حرف st میباشد را انتخاب مبکند.

SELECT * FROM Persons
WHERE City LIKE '%st%'

مثال : دستور زیر افرادی که شهر آنهاشامل حرف st نمیباشد را انتخاب مبکند.


SELECT * FROM Persons
WHERE City NOT LIKE '%st%'

نکته : در مقاله ی بعدی علامت های شرطی در Like را توضیح خواهیم داد.

admin بازدید : 174 یکشنبه 08 تیر 1393 نظرات (0)

دستور TOP در دستور select اسکیوال ، تعداد رکورهای خروجی را مشخص میکند.

دستور top در sql برای جداولی که بالای هزاران رکورد دارند بسیار مفید میباشد. خروجی با تعداد رکوردهای بالا بر روی کارایی برنامه ی مرتبط با sql ممکن است تاثیر بگذارد.

مثال : با مثال زیر ما 2 رکورد از جدول را انتخاب می کنیم :

SELECT TOP 2 * FROM Persons

مثال : با مثال زیر ما میتوانیم 50 درصد از رکوردها در جدول بالا را انتخاب کنیم :

SELECT TOP 50 PERCENT * FROM Persons

admin بازدید : 212 شنبه 07 تیر 1393 نظرات (0)

دستور Insert در اسکیوال

دستور Insert در sql برای وارد کردن و ايجاد يک رکورد جديد در جدول استفاده می شود .

دو روش استفاده از این دستور وجود دارد :

INSERT INTO table_name
VALUES (value1, value2, value3,...)

INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)

نکته : می توان در دستور Insert در اسکیوال تعيين کرد که مقادير مورد نظر به ترتيب به کدام ستون های جدول وارد شوند . برای اين منظور ابتدا نام ستون های مورد نظر را به ترتيب جلوی نام جدول در يک پرانتز وارد کرده و با کاما از هم جدا می کنيم . سپس مقادير متناظر را به همان ترتيب پس از واژه Vaues در پرانتز وارد می کنيم .
نکته : چنانچه برای فيلد يا فيلدهايی مقداری در دستور insert در نظر گرفته نشود ، مقادیر پیش فرض تعیین شده و در صورت تعیین نکردن مقدار پیش فرض جای آنها در جدول خالی می ماند . فقط بايد به ترتيب نام ستون ها و مقادير دقت کرد .

Insert into Student ( Name , Family ) Values ( "Saeed" , "Rajabi" )

در مثال بالا نام Saeed در فیلد Name و نام Rajabi در فیلد Family میرود. بقیه ی فیلد ها در صورت تعیین کردن مقدار پیش فرض آن مقدار را میگیرند و در صورت تعیین نکردن آن ، مقدار خالی یا Null میگیرند.


admin بازدید : 221 شنبه 07 تیر 1393 نظرات (0)

دستور Update در sql

دستور Update در اسکیوال برای تغيير اطلاعات موجود در يک فيلد و جايگزينی آن با يک مقدار جديد به کار می رود . ویرایش اطلاعات در بانک اس کیوال از جمله مهمترین اعمال هست که با استفاده از دستور Update امکان پذیر می باشد.

UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value

 برای ویرایش کردن بیش از یک فیلد به روش زیر عمل میکنیم:

Update  Person
Set Name = " bahar" , Family = " shokri" , id-number=" 11 "
Where  ID =3222

 برای ویرایش یک فیلد دستور زیر را مینویسیم :

Update Person 
Set Name =" Ali "
Where Name = " Ahmad "



admin بازدید : 211 شنبه 07 تیر 1393 نظرات (0)

دستور Delete در اسکیوال

دستور Delete در sql برای حذف اطلاعات يک رکورد در جدول بانک اسکیوال استفاده می شود. از دستور delete باید با دقت استفاده شود زیرا امکان بازگرداندن رکورد های حذف شده به این راحتی ها نیست !

DELETE FROM table_name
WHERE some_column=some_value

برای پاک کردن یک رکورد با شناسه مشخص از دستور زیر استفاده میکنیم.

Delete From Person
Where ID = "16 "

دستور Delete * 

اين امکان وجود دارد که با دستور Delete * بدون حذف يک جدول ، کليه رکوردهای درون آن را پاک کرد.

Delete From Person

تعداد صفحات : 7

اطلاعات کاربری
  • فراموشی رمز عبور؟
  • نظرسنجی
    کدام قسمت سایت مشکل داره؟
    شما در چه رده سنی می باشید؟
    آمار سایت
  • کل مطالب : 927
  • کل نظرات : 16
  • افراد آنلاین : 164
  • تعداد اعضا : 1600
  • آی پی امروز : 409
  • آی پی دیروز : 103
  • بازدید امروز : 1,283
  • باردید دیروز : 197
  • گوگل امروز : 0
  • گوگل دیروز : 1
  • بازدید هفته : 3,265
  • بازدید ماه : 3,265
  • بازدید سال : 56,445
  • بازدید کلی : 942,440